windowcontrols: Unparent children in dispose rather than finalize
authorAlexander Mikhaylenko <alexm@gnome.org>
Tue, 5 May 2020 14:43:55 +0000 (19:43 +0500)
committerAlexander Mikhaylenko <alexm@gnome.org>
Tue, 5 May 2020 14:43:55 +0000 (19:43 +0500)
gtk/gtkwindowcontrols.c

index 797a24cff389beeeff9bd3230ea2393157d6fa7b..6225850757c741bab66caee5c931f89f7fa1847c 100644 (file)
@@ -411,12 +411,20 @@ gtk_window_controls_unroot (GtkWidget *widget)
 }
 
 static void
-gtk_window_controls_finalize (GObject *object)
+gtk_window_controls_dispose (GObject *object)
 {
   GtkWindowControls *self = GTK_WINDOW_CONTROLS (object);
 
   clear_controls (self);
 
+  G_OBJECT_CLASS (gtk_window_controls_parent_class)->dispose (object);
+}
+
+static void
+gtk_window_controls_finalize (GObject *object)
+{
+  GtkWindowControls *self = GTK_WINDOW_CONTROLS (object);
+
   g_free (self->decoration_layout);
 
   G_OBJECT_CLASS (gtk_window_controls_parent_class)->finalize (object);
@@ -480,6 +488,7 @@ gtk_window_controls_class_init (GtkWindowControlsClass *klass)
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
+  object_class->dispose = gtk_window_controls_dispose;
   object_class->finalize = gtk_window_controls_finalize;
   object_class->get_property = gtk_window_controls_get_property;
   object_class->set_property = gtk_window_controls_set_property;